package com.codewsq;

import java.util.Arrays;

/*
 * 可变个数形参的方法
 * */
public class MethodArgsTest {

    public static void main(String[] args) {
        MethodArgsTest argsTest = new MethodArgsTest();
        argsTest.show();
        argsTest.show(10);
        argsTest.show("哈哈");
        argsTest.show("张三", "李四", "王五");
        argsTest.show(20, "嘻嘻", "嘿嘿");
    }

    public void show() {
        System.out.println("show()");
    }


    public void show(int i) {
        System.out.println("show(int i)");
    }

    public void show(String str) {
        System.out.println("show(String str)");
    }

    /*public void show(String[] args){

    }*/
    // 如上所示，是可变个数的形参和数组形参不能构成重载
    public void show(String... args) {
        for (int i = 0; i < args.length; i++) {
            System.out.print(args[i] + " ");
        }
        String string = Arrays.toString(args);
        System.out.println("\n" + string);
    }

    /*public void show(String... args, int i) {

    }*/
    /*
     * 如上所示，可变个数形参也可以有多个类型参数，但是可变个数形参必须放在最后
     * */
    public void show(int i, String... args) {
        System.out.println("show(int i, String... args)");
    }

}
